package cn.demoncat.util.word;

import cn.demoncat.util.lang.LocalDateUtil;
import cn.demoncat.util.lang.constant.StringConstant;
import cn.demoncat.util.web.ServletUtil;
import org.apache.commons.lang3.StringUtils;

import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;

/**
 * Word工具
 *
 * @author 延晓磊
 *
 * @since 2020年6月3日
 */
public class WordUtil {

	/**
	 * 文件扩展名（必须是WORD2007，POI不支持2003）
	 */
	private static final String WORD_EXTENSION = ".docx";

	
	/**
	 * 获取文档输出流
	 * 
	 * 注意：WEB下载完成后须返回null或void，避免SpringMvc二次输出响应
	 * 
	 * @param response
	 * @param name		文档名称，如果有扩展名则必须是.docx
	 * @param type		是否匹配MIME类型，false将直接输出流文件
	 * 
	 * @return out
	 * 
	 * @author 延晓磊
	 *
	 * @since 2020年6月4日
	 */
	public static OutputStream getOutput(HttpServletResponse response, String name, boolean type) {
		if (StringUtils.isBlank(name)) {
			name = LocalDateUtil.toDateStr();
		}
		if (!name.contains(StringConstant.POINT)) {
			name = name + WORD_EXTENSION;
		}
		return ServletUtil.getDownloadOut(response, name, type);
	}

	/**
	 * 尺寸转换：px > pt
	 *
	 * @param px
	 * @return 1px = 0.75pt
	 *
	 * @author 延晓磊
	 * @since 2021年04月10日
	 */
	public static int toPt(int px){
		return px * 75 / 100;
	}

	/**
	 * 尺寸转换：pt > px
	 *
	 * @param pt
	 * @return 1px = 0.75pt
	 *
	 * @author 延晓磊
	 * @since 2021年04月10日
	 */
	public static int toPx(int pt){
		return pt * 100 / 75;
	}



}
